package day03;

import java.util.HashMap;
import java.util.Map;

/*
 *文件名: MapPractice
 *创建者:
 *创建时间:2025/5/21 11:31
 *描述:
 */
public class MapPractice {
    public static void main(String[] args) {
        Map<String, String> data = new HashMap<>();
        data.put("小王1","A");
        data.put("小王2","A");
        data.put("小王3","C");
        data.put("小王4","D");
        data.put("小王5","E");
        data.put("小王6","F");
        data.put("小王7","G");

        //调用方法统计
        count(data);


    }
    public static void count(Map<String, String> data) {
        /**
         * 1.创建一个新的map集合，储存统计投票结果
         * 2.遍历data集合（key--value）
         * 3.将value拿出来将value当做key存储到新的集合中
         * 4.如果value已存在，将value对应值加一
         * 5.如果value不存在，那么将value--1存入新map中
         * 6.遍历,打印结果
         */
        Map<String, Integer> resultMap = new HashMap<>();

        data.forEach((k, v) -> {
            //判断v是否已经在resultMap中存在
            boolean contains = resultMap.containsKey(v);
            if (contains) {
                //将老值取出+1，重新存入
                Integer oldCount = resultMap.get(v);
                resultMap.put(v, oldCount + 1);
            }
            else {
                resultMap.put(v, 1);
            }
        });
        //6.遍历,打印结果
        resultMap.forEach((k, v) -> {
            System.out.println(k + ":" + v);
        });
    }
}
